package stack_queue.leetcode;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author: wenjingyuan
 * @Date: 2022/09/19/22:53
 * @Description: 只出现一次的数字 II
 * https://leetcode.cn/problems/single-number-ii/
 */
public class Num137 {
    public int singleNumber(int[] nums) {
        //创建一个map，存储出现的数字以及出现的次数
        Map<Integer,Integer> map=new HashMap<>();
        for(int i:nums){
            if(map.containsKey(i)){
                //说明i已经在map里存在，更新出现的次数
                int count=map.get(i);
                map.put(i,count+1);
            }else{
                map.put(i,1);
            }
        }
        //遍历map集合，找到出现次数为1的那个key
        for(Map.Entry<Integer,Integer> entry:map.entrySet()){
            //找到value为1的那个元素
            if(entry.getValue()==1){
                return entry.getKey();
            }
        }
        return  -1;
    }
}
